<?php

include_once ("partidaVO.php");
include_once("jogadorVO.php");
include_once("jogadorDAO.php");

class PartidaDAO
{
	var $conexao;
	
	function Conectar() {
		
		$this->conexao = mysql_connect("localhost", "root", "");
		if ($this->conexao)
		{
			if (!mysql_select_db("database_jogodavelha", $this->conexao))
				$this->Desconectar();
		}
	}
	
	function Desconectar() {
		
		mysql_close($this->conexao);
		$this->conexao=0;
	}
	
	function inserir($partida) {
		
		$sqltxt="insert into `partida` (id_jogador1, id_jogador2, estado, id_vez_jogador) values ('".$partida->id_jogador1."', '".$partida->id_jogador2."', 'esperando', '".$partida->id_vez_jogador."')";
		$this->Conectar();
		
		if (mysql_query($sqltxt,$this->conexao)) {
			
			$id=mysql_insert_id($this->conexao);
			$this->Desconectar();
			return $id;
		}
		else {
			
			$msg=mysql_error($this->conexao);
			$this->Desconectar();
			return null;
		}
	}
	
	function getById($id) {
		
		$sqltxt="select * from `partida` where id=".$id;
		$this->Conectar();
		$res=mysql_query($sqltxt,$this->conexao);
		
		if ($res && mysql_num_rows($res)>0) {
			$Campos=mysql_fetch_array($res);
			
			$objPartida= new PartidaVO();
			
			$objPartida->id=$Campos['id'];
			$objPartida->id_jogador1=$Campos['id_jogador1'];
			$objPartida->id_jogador2=$Campos['id_jogador2'];
			$objPartida->estado=$Campos['estado'];
			$objPartida->id_vez_jogador=$Campos['id_vez_jogador'];
			$objPartida->id_campeao = $Campos['id_campeao'];

			$this->Desconectar();
			return $objPartida;
		}
		else
		{
			$this->Desconectar();
			return NULL;
		}
	}
	
	function atualisarPartida($partida) {
		
		$sqltxt="UPDATE `partida` SET `id_jogador1`='".$partida->id_jogador1."',`id_jogador2`='".$partida->id_jogador2."',`estado`='".$partida->estado."', `id_vez_jogador`='".$partida->id_vez_jogador."', `id_campeao`='".$partida->id_campeao."' WHERE id ='".$partida->id."'";
		$this->Conectar();
		mysql_query($sqltxt,$this->conexao);
		
	}
	
	function atualisarVez($id_vez, $id_partida) {
		
		$sqltxt="UPDATE `partida` SET `id_vez_jogador`='".$id_vez."' WHERE id ='".$id_partida."'";
		$this->Conectar();
		mysql_query($sqltxt,$this->conexao);
		
	}
	
	function atualisarCampeao($id_campeao, $id_partida) {
	
		$sqltxt="UPDATE `partida` SET `id_campeao`='".$id_campeao."' WHERE id ='".$id_partida."'";
		$this->Conectar();
		mysql_query($sqltxt,$this->conexao);
	
	}
	
	function listarPartidasAbertas() {

		$sqltxt="select * from partida";
		$this->Conectar();
		$res=mysql_query($sqltxt,$this->conexao);
		
		if ($res && mysql_num_rows($res)>0) {
			
			$lista = array();
			$i = 0;
			while($Campos=mysql_fetch_array($res)) {
				$partidaVO = new PartidaVO();
				$partidaVO->id = $Campos['id'];
				$partidaVO->id_jogador1 = $Campos['id_jogador1'];
				$partidaVO->id_jogador2 = $Campos['id_jogador2'];
				$partidaVO->estado = $Campos['estado'];
				$partidaVO->id_vez_jogador = $Campos['id_vez_jogador'];
				$partidaVO->id_campeao = $Campos['id_campeao'];
				
				$lista[$i] = $partidaVO;
				$i++;
			}

			$this->Desconectar();
			return $lista;
		}
		else {
			
			$this->Desconectar();
			return null;
		}
	}

}

?>